約 6,507,640 件
https://w.atwiki.jp/androidkensyu/pages/13.html
Android 近年普及が進んでいるスマートフォン向けプラットフォーム。OS、ミドルウェア、主要アプリケーションからなるソフトウェアスタック。
https://w.atwiki.jp/sevenlives/pages/1564.html
Linux Kernel? Hardware Abstraction Layer Androidランタイム? Java API フレームワーク? OHA? AIDL? Dalvik VM Androidランタイム? ART? アンドロイド・マーケット? Intent? Over The Air? ブラウザ(Android) Droid Font? Board Support Package? Trebleプロジェクト? Google Play? Android Studio? Android SDK? ■ アプリケーション・フレームワーク Activity Manager? Window Manager? Content Provider? Package Manager? View System? Resource Manager? Location Manager? Notification Manager? ■ Android UI Action Bar Activity(Android) Fragments(Android) Droid Font? Android 2.X? Android 3.X? Android 4.X Android Cupcake? Android Donut? Android Eclair? Android Froyo? Android Gingerbread? Android Honeycomb? Android Ice Cream Sandwich? Android Jelly Bean? Android KitKat? Android Lollipop? Android Marshmallow? Android Nougat? Android Oreo Google HAXM
https://w.atwiki.jp/shanghai_android/pages/14.html
リンク 上海Androidの会 メーリングリスト 日本Androidの会 Android Official Site Android、OPhoneな企業、団体、個人 in 中国Anhui OSS 亜才株式会社 上海 Android 研究所 モトローラ中国 ※中国語 ArcherMind 首派(Apanda) ※中国語 A60、A70などAndroid端末を発売し、自社アプリサービスなども開始してる注目企業です。 Android、OPhoneな情報 in 中国Android/OPhone雑記 Shanghai Android Laboratory GPhone中文网 ※中国語 谷奥Android专题站 ※中国語 Android中文站 机锋网 ※中国語 OPhone8.com ※中国語 OPhone Software Developer Network ※中国語 google android手机网 ※中国語 SlateDroid ※Androidタブレット情報ページ。aPad(M0003=iRobot)のROM情報等もあり。 Android、OPhoneなアプリケーションサイト in 中国中国移動 MobileMarket 中国電信「天翼空間」 中国聯通「Unistore( bold(){試験運用中})」 レノボ アプリケーションストア モトローラ SHOP4APPS eoeMarket Android応用商店 91手机空間 GPhone中文网 Android手机网 Gphone之家 OPhone8.com android手机软件 百合精灵 ※Android/OPhone向けアプリ収集&ダウンロード支援ツールです。 安卓网(HiAPK) Android、OPhoneなトレーニングAnhui OSS Androidトレーニングコース トップページ
https://w.atwiki.jp/xpedia-android/pages/13.html
JDKインストール http //java.sun.com/javase/ja/6/download.html Eclipseインストール(すでにある場合は不要) http //mergedoc.sourceforge.jp/ AndroidSDKインストール http //developer.android.com/sdk/ Xperia(X10)はAndroid1.6 てきとーにC \直下に置いてtoolsフォルダをPATH追加
https://w.atwiki.jp/redcloud/pages/28.html
目次 目次 Google Android プログラミング入門 3 - 1.3.2 レイアウト 3 - 1.3.3 データバインディング 3 - 1.3.6 ダイアログ Google Android プログラミング入門 3 - 1.3.2 レイアウト レイアウト=android.view.ViewGroupを継承したウィジェット。ViewGroupはandroid.view.Viewの直下のサブクラス。 レイアウトの役割は画面の一番外側にあるコンテナ、子となるウィジェットの配置を調整する用途 配置情報はViewGroup.LayoutParamsクラスに入れて使う 全ての子要素を一直線に整列するレイアウト LinearLayout デフォルトは水平に整列。android orientation属性にverticalを指定したら垂直に整列 水平整列時はlayout_weight属性で比率を指定する( 指定しないと先頭要素が横幅一杯表示され、後続要素が見えなくなる ) 複数のLinearLayoutを入れ子にして組み合わせたレイアウトも作成可能 レイアウトにスクロール機能を提供する ScrollView(垂直)、HorizontalScrollView(水平) スクロールさせたいレイアウト定義要素をScrollViewで囲めばOK ただし 1つのウィジェット・レイアウトしか子供にする事ができない 3 - 1.3.3 データバインディング データバインディングとは、ウィジェットに対してデータを紐付けること データバインディングの機能を提供しているクラスがandroid.widget.AdapterView データをバインドしたリストの中から1つをクリックしたときのItemClickイベント。OnItemClickListenerイベントリスナを実行 onItemClickメソッドを実装 データをバインドしたリストの中から1つを長クリックしたときのItemLongClickイベント。OnItemLongClickListenerイベントリスナを実行 onItemLongClickメソッドを実装。戻り値はboolean。長押しを正常にハンドルできた場合にtrueを返す。 データをバインドしたリストの中から1つが選択されたときのItemSelectedイベント。OnItemLongSelectedListenerイベントリスナを実行 onItemSelectedメソッド=どれか1つが選択された時。リストのアイテムにフォーカスしている状態を指し、 タッチモードのときはこのイベントそのものが発生しない onNothingSelectedメソッド=リストのどれかがフォーカス状態にあってタッチモードに遷移した状態を指す アダプタとは、ウィジェットとデータの中継ぎ役 android.widget.ArrayAdapterは配列データをバインドする為のアダプタ android.widget.SimpleAdapterはリソースファイルから取得したデータをバインドする為のアダプタ 一覧画面専用のアクティビティ ListActivity、ExpandableListActivity ListActivityは、ListViewを1つ配置した画面を作るときに便利なアクティビティ 画面作成は setListAdapter(ArrayAdapter) で作成可能 どれか1つが選択された時のイベントハンドルメソッドがonListItemClick レイアウトファイルを既定のものと差し替え可能。この場合レイアウトファイルのListViewのandroid id属性には必ず@id/android listを指定する @id/android emptyを指定したウィジェットを追加しておくと、リストが空のときにこのウィジェットを表示してくれる 3 - 1.3.6 ダイアログ
https://w.atwiki.jp/android/pages/13.html
Androidことはじめ Androidを始めるために、以下のセクションを読んでください。 SDKとプラグインのインストール SDKとEclipseプラグインをインストールする方法、またはAndroidアプリケーションを構築するための他のツールを使う方法。及び、サンプルアプリケーションを走らせるためのガイド。 もしもしAndroid! あなたの最初のAndroidアプリケーション。一般的なHello WorldをAndroidスタイルで記述します。 Androidアプリケーション解体新書 Androidアプリケーションの構造とアーキテクチャのガイド。このガイドは、あなたがAndroidアプリを作るための理解を手助けします。 Androidアプリケーション構築のチュートリアル このチュートリアルで、実際にAndroidアプリケーション作成を通じて学習していきます。メモの作成、編集、削除等、基本的な概念を実際的な例でカバーしたノートパッドの作成を行います。 開発ツール SDKに含まれるコマンドラインツールと使い方。 Androidアプリケーションのライフサイクル? 内部で動作しているアプリケーションとアクティビティに関するライフサイクルの詳細を解説します。 原文
https://w.atwiki.jp/riverwin/pages/15.html
= Android = == 参考HP == * [http //developer.android.com/index.html Android Developers] * [http //itpro.nikkeibp.co.jp/article/COLUMN/20090708/333496/?ST=android-dev Androidで広がる、携帯アプリ開発の世界---目次 - Androidで広がる、携帯アプリ開発の世界:ITpro] * [http //www.kumikomi.net/archives/2010/02/fo02andr.php 「Android」に関する情報|Tech Village / CQ出版株式会社] * [http //sites.google.com/site/io/anatomy--physiology-of-an-android Anatomy Physiology of an Android] - Androidの分析と設計哲学 * [http //sites.google.com/site/io/dalvik-vm-internals Dalvik VM Internals] - Dalvikの内部構造 == SDK (Software Development Kit) == * [http //java.sun.com/javase/downloads/index.jsp Java SE] * [http //mergedoc.sourceforge.jp/index.html#/pleiades.html Pleades - Eclipse プラグイン日本語化プラグイン] * [http //developer.android.com/sdk/index.html Android SDK] == NDK (Native-code Development Kit) == * [http //www.cygwin.com/ Cygwin Information and Installation] - Windows環境で開発する場合に必要 * [http //developer.android.com/sdk/ndk/index.html Android NDK] * [http //www.atmarkit.co.jp/fjava/rensai4/android15/android15_1.html Android NDKでJNIを使用してアプリを高速化するには (1/3) - @IT] * [wiki Android/SocketProgramming ソケットプログラミング] == Tips == * CUI/GUIの切り替え(for x86) * CUI Alt+F1 * GUI Alt+F7 * エミュレータの端末の向きを変えるには?:[ctrl]+[F12] * Android-x86で日本語入力するには? * [http //www.adamrocker.com/blog/286/simeji-for-x86.html x86で動くSimeji]ページから「Simeji3.A.3_x86.apk」をダウンロードしてインストールする。 * !LogCatで日本語を表示するには? * EclipseのADTプラグインでのLogCatでは、文字コードを指定できないため、表示不可。 * コマンドラインで直接LogCatを起動することにより、表示可能。 1. コマンドラインプロンプトのフォントをMSゴシックにするために仮のバッチファイル(ファイル名は最終的なものと同一)を作成する。内容は以下の通り。 {{{ cmd /k adb logcat }}} 1. 上記で作成したバッチファイルを実行し、表示されたWindowのタイトルバー右クリックでプロパティメニューを表示し、フォントタブにてフォントをMSゴシックに指定する。 1. バッチファイルを、UTF-8設定用に変更する。内容は以下の通り。 {{{ cmd /k chcp 65001 | adb logcat }}} * Android Marketに登録できないアプリを広めるには? * サードパーティが運営しているサーバを使用する。ex.[http //andappstore.com/ AndAppStore] * アプリ内で1D/2Dバーコードスキャンを行うには? * [http //code.google.com/p/zxing/ Zebra Crossing]を使用する。 == 関連リンク == * [http //www.oesf.jp/ Open Embedded Software Foundation] * [http //wiki.github.com/OESF/Embedded-Master-ARM/em1-environment-constructed EM1 Environment Constructed] {{{ #!comment == パッケージのインストール == 参考:[http //source.android.com/source/download.html Get Android Source Code | Android Open Source] 1. ビルドに必要なパッケージのインストール {{{ $ sudo apt-get update $ sudo apt-get -y install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind g++ }}} 1. Android専用のプロジェクト管理ツール「repo」のインストール {{{ $ cd ~ $ mkdir bin $ curl http //android.git.kernel.org/repo ~/bin/repo $ chmod a+x ~/bin/repo }}} 1. 環境変数の設定 {{{ $ ls /usr/lib/jvm java-1.5.0-sun java-1.5.0-sun-1.5.0.19 $ export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun $ export PATH=$PATH ~/bin }}} 1. Android環境一式のダウンロード(Eclair)[[BR]] {{{ $ mkdir ~/work/mydroid $ cd ~/work/mydroid $ repo init -u http //android.git.kernel.org/platform/manifest.git -b eclair ... $ repo sync ... }}} 1. Linux kernelのダウンロード[[BR]] {{{ $ mkdir kernel $ cd kernel $ git clone git //android.git.kernel.org/kernel/common.git ... $ git clone git //android.git.kernel.org/kernel/linux-2.6.git ... $ git clone git //android.git.kernel.org/kernel/omap.git ... $ git clone git //android.git.kernel.org/platform/vendor/asus/eee_701.git ... $ repo sync ... }}} 1. ダウンロード結果 {{{ $ cd ~/work/mydroid $ ls -aF ./ Makefile build/ development/ hardware/ prebuilt/ vendor/ ../ bionic/ cts/ external/ kernel/ sdk/ .repo/ bootable/ dalvik/ frameworks/ packages/ system/ $ du -s 5703292. }}} 1. ビルド {{{ $ source ./build/envsetup.sh $ choosecombo 1 1 generic 3 $ make ... $ }}} }}} == x86 on VMware用パッケージのインストール == 参考 [http //arms22.blog91.fc2.com/blog-entry-254.html なんでも作っちゃう、かも。x86 Android Donut on VMware] 1. イメージファイルの変換に必要なパッケージのインストール {{{ $ sudo apt-get install qemu }}} 1. ソースコードの取得 {{{ $ cd ~/work $ mkdir android-x86 $ cd android-x86 $ repo init -u git //git.android-x86.org/android-x86/platform/manifest.git -b eclair-x86 ... $ repo sync ... }}} 1. 差分ファイルの取得[[BR]] ビルドに必要なソースがリポジトリから削除されているので([http //groups.google.com/group/android-x86/browse_thread/thread/acd93d7d702c5de9?pli=1 参考Topic])、削除前の[http //android.git.kernel.org/?p=platform/frameworks/base.git;a=snapshot;h=0c33ed2992b2eb484c229fd3322df14d97c10caa;sf=tgz スナップショット]をダウンロードし、展開後、frameworks/base/tools/layoutlib/api/*部分をコピーする。(以下は、「~/temp/downloads」にダウンロードした場合の例) {{{ $ cd ~/temp/downloads $ tar zxvf base-0c33ed2992b2eb484c229fd3322df14d97c10caa.tar.gz $ cp -r base/tools/layoutlib/api/ ~/work/android-x86/frameworks/base/tools/layoutlib/ $ cd ~/work/android-x86 $ du -s 4040996. }}} 1. ソースの修正 a. Bluetoothの有効化[[BR]] ./build/target/board/generic_x86/init.rcスクリプト中のbluetoothdサービス起動部分のdisabled設定をコメントアウトする。 {{{ service bluetoothd /system/bin/bluetoothd -n socket bluetooth stream 660 bluetooth bluetooth socket dbus_bluetooth stream 660 bluetooth bluetooth # init.rc does not yet support applying capabilities, so run as root and # let bluetoothd drop uid to bluetooth with the right linux capabilities group bluetooth net_bt_admin misc # disabled }}} 1. USB起動用のイメージファイルとしてビルド[[BR]] ※初回makeでエラー停止した場合、再度makeすると通る場合あり。 a. デフォルトカーネルを使用する場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc }}} a. カーネルをカスタムビルドする場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc TARGET_KERNEL_CONFIG=my_defconfig }}} a. 既にビルド済みのカーネルを使用する場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc TARGET_PREBUILT_KERNEL= path to the prebuilt kernel }}} 1. 仮想ディスクイメージファイルの作成 {{{ $ cd out/target/product/eeepc $ qemu-img convert eeepc_usb.img -O vmdk installer.vmdk }}} 1. VMwareの新規仮想マシンを作成 1. 「後でOSをインストール」を選択し、「次へ」を押下する。 1. ゲストOSは「Linux」を選択する。 1. バージョンは「他のLinux2.6.xカーネル」を選択し、「次へ」を押下する。 1. 仮想マシン名を適当に作成する(例.「Android Eclair on x86」)し、「次へ」を押下する。 1. ディスク最大サイズを設定する(例.4.0GB)。 1. 「仮想ディスクを単一ファイルとして格納」を選択し、「次へ」を押下する。 1. 「完了」を押下する。 1. VMwareのディスク設定を追加・変更 1. 上記で作成したディスクをscsi0 0からide0 0に変更する。 1. vmxファイルを開いて以下の行を追加する。ide0 0がprimary master、ide0 1がprimary slave。なお、「bios.bootDelay」は、電源On時にBIOS Setup画面に移行するためのF2キー押下を容易にするための設定。 {{{ ide0 1.present = "true" ide0 1.fileName = "installer.vmdk" bios.bootDelay="3000" }}} 1. ビルドした仮想ディスクイメージファイル(installer.vmdk)をvmxファイルと同じフォルダにコピーする。 1. VMwareの仮想ハードディスクにAndroidをインストール 1. VMwareを起動し、BIOS設定を変更して、IDEのprimary slave(PS)からBOOTする。 1. AndroidのInstallを選択する。 1. 検出されたHard Diskにパーティションを作成し、ext3でフォーマットする。 1. インストールディスクの削除 1. vmxファイルを開いて次の行を削除する。 {{{ ide0 1.present = "true" ide0 1.fileName = "installer.vmdk" }}} 1. 起動確認[[BR]] VMwareを再生し、Androidが起動することを確認する。
https://w.atwiki.jp/skill2linux/pages/22.html
RSS リーダの作成 以下の記事を参考に作成。 というか、ほぼそのままです…。 全然、整理をつけていないので、そのうち纏めます…。 http //itpro.nikkeibp.co.jp/article/COLUMN/20100105/342883/?k2 メイン画面(レイアウト) ?xml version="1.0" encoding="utf-8"? !-- mainアクティビティ用 -- LinearLayout xmlns android="http //schemas.android.com/apk/res/android" android orientation="vertical" android layout_width="fill_parent" android layout_height="fill_parent" !-- リストビュー -- ListView android id="@android id/list" android layout_width="wrap_content" android layout_height="wrap_content" / !-- リストが空のときに表示 -- /LinearLayout 行(レイアウト) ?xml version="1.0" encoding="utf-8"? LinearLayout android id="@+id/item_container" android layout_width="fill_parent" android layout_height="wrap_content" android orientation="vertical" xmlns android="http //schemas.android.com/apk/res/android" TextView android id="@+id/item_title" android layout_width="fill_parent" android layout_height="wrap_content" android textColor="#ffffff" android textSize="18sp" android lines="1" / TextView android id="@+id/item_descr" android layout_width="fill_parent" android layout_height="wrap_content" android lines="2" android ellipsize="end" / /LinearLayout 詳細画面(レイアウト) ?xml version="1.0" encoding="utf-8"? !-- item_detail.xml -- LinearLayout android layout_width="fill_parent" android layout_height="wrap_content" android orientation="vertical" xmlns android="http //schemas.android.com/apk/res/android" TextView android id="@+id/item_detail_title" android layout_width="fill_parent" android layout_height="wrap_content" android textAppearance="?android attr/textAppearanceLarge" android background="@android drawable/dark_header" / TextView android id="@+id/item_detail_descr" android layout_width="fill_parent" android layout_height="wrap_content" / /LinearLayout メイン画面 package jp.co.persil.rss; import java.util.ArrayList; import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.ListView; public class PersilRSS extends ListActivity { // ------------------------------------------------------------ // メンバ // ------------------------------------------------------------ private ArrayList Item mItems; private RssListAdapter mAdapter; // ------------------------------------------------------------ // 定数 // ------------------------------------------------------------ public static final String RSS_FEED_URL = "http //itpro.nikkeibp.co.jp/rss/ITpro.rdf"; public static final int MENU_ITEM_RELOAD = Menu.FIRST; // ------------------------------------------------------------ // 【EVENT】Activity 作成 // ------------------------------------------------------------ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { // スーパークラスの呼出 super.onCreate(savedInstanceState); setContentView(R.layout.main); // Itemオブジェクトを保持するためのリストを生成し、アダプタに追加する mItems = new ArrayList Item (); mAdapter = new RssListAdapter(this, mItems); // タスクを起動する RssParserTask task = new RssParserTask(this, mAdapter); task.execute(RSS_FEED_URL); } // ------------------------------------------------------------ // 【EVENT】リストの項目を選択した時の処理 // ------------------------------------------------------------ @Override protected void onListItemClick(ListView l, View v, int position, long id) { Item item = mItems.get(position); Intent intent = new Intent(this, ItemDetailActivity.class); intent.putExtra("TITLE", item.getTitle()); intent.putExtra("DESCRIPTION", item.getDescription()); startActivity(intent); } // ------------------------------------------------------------ // 【EVENT】オプションボタン追加 // ------------------------------------------------------------ @Override public boolean onCreateOptionsMenu(Menu menu) { boolean result = super.onCreateOptionsMenu(menu); // デフォルトではアイテムを追加した順番通りに表示する menu.add(0, MENU_ITEM_RELOAD, 0, "更新"); return result; } // ------------------------------------------------------------ // 【EVENT】MENUの項目を押したときの処理 // ------------------------------------------------------------ @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // 更新 case MENU_ITEM_RELOAD // アダプタを初期化し、タスクを起動する mItems = new ArrayList Item (); mAdapter = new RssListAdapter(this, mItems); // タスクはその都度生成する RssParserTask task = new RssParserTask(this, mAdapter); task.execute(RSS_FEED_URL); return true; } return super.onOptionsItemSelected(item); } // ------------------------------------------------------------ // 【METHOD】ツリービューアイテムを追加 // ------------------------------------------------------------ public void setListAdapter( RssListAdapter mAdapter) { // アダプタをリストビューにセットする ListView lv = (ListView)findViewById(android.R.id.list); lv.setAdapter(mAdapter); } } 行へのアイテム管理用 package jp.co.persil.rss; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; //RssListAdapter.java public class RssListAdapter extends ArrayAdapter Item { // ------------------------------------------------------------ // メンバ // ------------------------------------------------------------ private LayoutInflater mInflater; private TextView mTitle; private TextView mDescr; // ------------------------------------------------------------ // コンストラクタ // ------------------------------------------------------------ public RssListAdapter(Context context, List Item objects) { super(context, 0, objects); mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } // ------------------------------------------------------------ // 【METHOD】1行毎に View を作成する // ------------------------------------------------------------ @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; if (convertView == null) { view = mInflater.inflate(R.layout.item_row, null); } // 現在参照しているリストの位置からItemを取得する Item item = this.getItem(position); if (item != null) { // Itemから必要なデータを取り出し、それぞれTextViewにセットする String title = item.getTitle().toString(); mTitle = (TextView) view.findViewById(R.id.item_title); mTitle.setText(title); String descr = item.getDescription().toString(); mDescr = (TextView) view.findViewById(R.id.item_descr); mDescr.setText(descr); } return view; } } 画面への設定用ルーチン package jp.co.persil.rss; import java.io.IOException; import java.io.InputStream; import java.net.URL; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.app.ProgressDialog; import android.os.AsyncTask; import android.util.Xml; public class RssParserTask extends AsyncTask String, Integer, RssListAdapter { // ------------------------------------------------------------ // メンバ // ------------------------------------------------------------ private PersilRSS mActivity; private RssListAdapter mAdapter; private ProgressDialog mProgressDialog; // ------------------------------------------------------------ // コンストラクタ // ------------------------------------------------------------ public RssParserTask(PersilRSS activity, RssListAdapter adapter) { mActivity = activity; mAdapter = adapter; } // ------------------------------------------------------------ // 【Method】メインスレッドから execute 呼出時に実行される // 【Thread】メインスレッド // ------------------------------------------------------------ @Override protected void onPreExecute() { // プログレスバーを表示する mProgressDialog = new ProgressDialog(mActivity); mProgressDialog.setMessage("Now Loading..."); mProgressDialog.show(); } // ------------------------------------------------------------ // 【Method】メインスレッドから execute 呼出時に実行される // 【Thread】バックグラウンド // ------------------------------------------------------------ @Override protected RssListAdapter doInBackground(String... params) { RssListAdapter result = null; try { // HTTP経由でアクセスし、InputStreamを取得する URL url = new URL(params[0]); InputStream is = url.openConnection().getInputStream(); result = parseXml(is); } catch (Exception e) { e.printStackTrace(); } // ここで返した値は、onPostExecuteメソッドの引数として渡される return result; } // ------------------------------------------------------------ // 【Method】doInBackground のメソッド完了後に実行される // 【Thread】メインスレッド // ------------------------------------------------------------ @Override protected void onPostExecute(RssListAdapter result) { mProgressDialog.dismiss(); mActivity.setListAdapter(result); } // ------------------------------------------------------------ // 【Method】XML をパースする // ------------------------------------------------------------ public RssListAdapter parseXml(InputStream is) throws IOException, XmlPullParserException { // XML パーサをインスタンス化 XmlPullParser parser = Xml.newPullParser(); // try-catch 開始 try { // 引数で受け取ったストリームを設定 parser.setInput(is, null); // イベントタイプを設定 int eventType = parser.getEventType(); // 初期化 Item currentItem = null; // ドキュメントの最後まで繰り返し while (eventType != XmlPullParser.END_DOCUMENT) { String tag = null; switch (eventType) { // 開始タグ case XmlPullParser.START_TAG tag = parser.getName(); if (tag.equals("item")) { currentItem = new Item(); } else if (currentItem != null) { if (tag.equals("title")) { currentItem.setTitle(parser.nextText()); } else if (tag.equals("description")) { currentItem.setDescription(parser.nextText()); } } break; // 終了タグ case XmlPullParser.END_TAG tag = parser.getName(); if (tag.equals("item")) { mAdapter.add(currentItem); } break; } eventType = parser.next(); } } catch (Exception e) { e.printStackTrace(); } return mAdapter; } } アイテム管理用 package jp.co.persil.rss; public class Item { // ------------------------------------------------------------ // メンバ // ------------------------------------------------------------ private CharSequence mTitle; private CharSequence mDescription; // ------------------------------------------------------------ // コンストラクタ // ------------------------------------------------------------ public Item() { mTitle = ""; mDescription = ""; } // ------------------------------------------------------------ // 【getter】Description // ------------------------------------------------------------ public CharSequence getDescription() { return mDescription; } // ------------------------------------------------------------ // 【setter】Description // ------------------------------------------------------------ public void setDescription(CharSequence description) { mDescription = description; } // ------------------------------------------------------------ // 【getter】Title // ------------------------------------------------------------ public CharSequence getTitle() { return mTitle; } // ------------------------------------------------------------ // 【setter】Title // ------------------------------------------------------------ public void setTitle(CharSequence title) { mTitle = title; } } 行単位のアクティビティ package jp.co.persil.rss; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class ItemDetailActivity extends Activity { // ------------------------------------------------------------ // メンバ // ------------------------------------------------------------ private TextView mTitle; private TextView mDescr; // ------------------------------------------------------------ // コンストラクタ // ------------------------------------------------------------ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.item_detail); Intent intent = getIntent(); String title = intent.getStringExtra("TITLE"); mTitle = (TextView) findViewById(R.id.item_detail_title); mTitle.setText(title); String descr = intent.getStringExtra("DESCRIPTION"); mDescr = (TextView) findViewById(R.id.item_detail_descr); mDescr.setText(descr); } }
https://w.atwiki.jp/3ddesk/pages/33.html
ウィジェット・レイヤを任意に表示させたり隠したりするためのプラグイン。 動作させるには、どのウィンドウをウィジェットとして扱うかをまず定義づける必要あり。 動作 Widget Windows Widget Layer プラグインで、ウィジェットとして扱うウィンドウの指定。 Window Matching の記述法に則って入力する必要。 入力例: (name=Screenlet type=Utility) または (name=screenletsd.py type=Utility) 上の例は RYX Screenlets エンジンを使用したウィジェットを指定するもの。 ウィジェットエンジンは他にも下記のようなものがある。 GDesklets XDesklets SuperKaramba Moonlight Widgets なお、Widget Layer プラグインでウィジェットのウィンドウを指定しておくと、他のプラグインでのウィンドウの照合条件の入力の際に「widget=1」をウィジェットのウィンドウとして使用できる。例えばウィジェットを表示させる際に、特定のアニメーション効果を割り当てたい場合、アニメーション・プラグイン 開く時の効果 アニメーションの選択 で対象ウィンドウの指定を「widget=1」とすればよい。 End Widget Mode on Click ウィジェット以外のウィンドウをクリックした場合、ウィジェットモードを終了させるかどうか。 一般 Toggle Widget Display ウィジェット・レイヤの表示/非表示を切り替えるショートカットキーやマウスボタン、ホットスポットの設定。 外観 フェード時間 ウィジェット・レイヤを表示したり隠したりするときの、フェードインやフェードアウトの持続時間。 Background in Widget Mode Background Brightness ウィジェット・レイヤの背景の明るさ Background Saturation ウィジェット・レイヤの背景の鮮やかさ
https://w.atwiki.jp/banrui/pages/24.html
開発環境設定 1.Android SDKをインストール 2.環境変数の設定 .bash_profileを書き換える export PATH=$PATH Developer/android-sdk-mac_x86/tools /Developer/android-sdk-mac_x86/platform-tools 3.Android SDKにADTプラグインをインストール Eclipse 「ヘルプ」→メニュー「新規ソフトウェアのインストール」→追加 名前:AndroidPlugin ロケーション:https//dl-ssl.google.com/android/eclipse/ チェックボックにチェック→完了→再起動 4.環境設定→「Android」を選択し、SDKロケーションにはAndroid SDK を配置した場所を指定し「OK」 5.platformsディレクトリは、空の状態なので設定 6.androidでターミナルでAndroid SDK and AVD Manage起動 7.Available packageを選択すると、右側にインストールできるパッケージが表示されるので全部選択→インストール 参考サイト MacでAndroid開発環境構築 Macに「eclipse」、「Android SDK」をインストールしてAndroid開発環境を整える。 プログラミング XML テキストサイズ android textSize パスワード android inputType="textPassword" ■LayoutInflater 参考 実装 TextViewに数値を渡す時は TextView.setText(String.valueOf(int)) を使う 日時の取得 java.util.CalendarクラスなどでOK 参考 Edittext カーソル位置を左上からにするのは、android gravity="top|left"を利用 参考 評価については、RatingBarを利用 サイズの変更と星の手動で動くようにする RatingBar参考 RatingBar生成 SQLite 標準操作マニュアル 参考 Android SQLiteデータベースを作成する(SQL文をリソースファイルに定義する) 参考ページ